import Book.BookList;
import User.AdminUser;
import User.NormalUser;
import User.User;

import java.util.Scanner;

public class Main {
    //登录  利用向上转型通过User接受用户身份
    public static User login() {
        Scanner scanner = new Scanner(System.in);//输入  从键盘获取
        System.out.println("请输入你的姓名：");
        String name = scanner.nextLine();
        System.out.println("请输入你的身份：1 -> 管理员  0 -> 普通用户");
        int choice = scanner.nextInt();
        if (choice == 1) {
            //实例化一个管理员
//            AdminUser adminUser = new AdminUser(name);
//            return adminUser;
            return new AdminUser(name);
        }else {
            //实例化一个普通用户
//            NormalUser normalUser = new NormalUser(name);
//            return normalUser;
            return new NormalUser(name);
        }
    }
    public static void main(String[] args) {
        BookList bookList = new BookList();
        User user = login();
        while (true) {
            int choice = user.menu();//将User定义为抽象类并在父类中写menu方法
            //用choice接收用户选择的功能序号
            //此时能够确定哪个用户选择哪个功能  那么如何建立联系呢？
            //1.先让对方存好对应自己的操作 要把操作写到父类中用user调用
            //2.就是调用对应的操作
            user.doOperation(choice, bookList);
//            System.out.println(choice);
//            System.out.println(user);
        }
    }
}